Pratt parser

In computer science, a Pratt parser is an improved recursive descent parser that associates semantics with tokens instead of grammar rules.[1] It was first described by Vaughan Pratt in the 1973 paper "Top down operator precedence"[2], and was treated in much more depth in a Masters Thesis under his supervision[3]. Pratt designed the parser originally to implement the CGOL programming language. Douglas Crockford used the technique to build JSLint.

Notes

  1. ^ Simple Top-Down Parsing in Python
  2. ^ Pratt, Vaughan. "Top down operator precendence." Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (1973).
  3. ^ Van De Vanter, Michael L. "A Formalization and Correctness Proof of the CGOL Language System." (Master's Thesis). MIT Laboratory for Computer Science Technical Report MIT-LCS-TR-147 (Cambridge, MA). 1975.